This single-cell RNA-seq reference-mapping task describes an example of reference-mapping a human COVID-19 peripheral blood mononuclear cells (PBMC) against a previously annotate human PBMC data set. The COVID data set was downloaded as Seurat object from (cziscience)[https://cellxgene.cziscience.com] (see the R script 01_create_datasets.R) and the reference previously annotated PBMC data set retrieved from SeuratData (v.0.2.2.9001):
reference (ref): 5,000 genes x 36,433 cells
query (query): 17,374 genes x 14,783 cells
The analyses performed in this notebook rely in the Seurat (v.5.1.0).
Import the main packages used in this notebook: Seurat (v.5.1.0), SeuratWrappers (v.0.3.2 - integration wrappers for Seurat), dplyr (v.1.1.4 - wrangling data), patchwork (v.1.2.0 - visualization), ComplexHeatmap (v.2.15.4 - heatmap), Azimuth (v.0.5.0 - reference-mapping).
## Import packages
library("dplyr") # data wrangling
library("Seurat") # scRNA-seq analysis
library("Azimuth") # reference-mapping
library("patchwork") # viz
library("ComplexHeatmap") # heatmap
Create output directories to save intermediate results, figures, tables and R objects.
## Output directories
res.dir <- file.path("../results", "covid_refmap_task", c("plots", "tables", "objects"))
for (folder in res.dir) if (!dir.exists(folder)) dir.create(path = folder, recursive = TRUE)
(5 min)
AIM: Import and explore the Seurat object data.
Import the human PBMCs from COVID-19 patients (query) as well as the healthy human PBMCs (ref) as Seurat objects located at data/covid.rds and data/pbmcref.
## Import query and reference Seurat objects
data.dir <- "../data"
# Reference
ref <- readRDS(file = file.path(data.dir, "pbmcref.rds"))
# Query
query <- readRDS(file = file.path(data.dir, "covid.rds"))
Explore quickly the Seurat query and `ref`` objects.
## Explore Seurat objects
# Print Seurat object
query
## An object of class Seurat
## 17374 features across 14783 samples within 1 assay
## Active assay: RNA (17374 features, 0 variable features)
## 2 layers present: counts, data
## 3 dimensional reductions calculated: pca, tsne, umap
ref
## An object of class Seurat
## 5228 features across 36433 samples within 2 assays
## Active assay: refAssay (5000 features, 0 variable features)
## 1 layer present: data
## 1 other assay present: ADT
## 2 dimensional reductions calculated: refUMAP, refDR
# Structure
str(query)
## Formal class 'Seurat' [package "SeuratObject"] with 13 slots
## ..@ assays :List of 1
## .. ..$ RNA:Formal class 'Assay5' [package "SeuratObject"] with 8 slots
## .. .. .. ..@ layers :List of 2
## .. .. .. .. ..$ counts:Formal class 'dgCMatrix' [package "Matrix"] with 6 slots
## .. .. .. .. .. .. ..@ i : int [1:14354790] 4 13 17 31 48 54 70 87 128 141 ...
## .. .. .. .. .. .. ..@ p : int [1:14784] 0 1407 2310 3187 4120 4587 5331 5840 7080 7596 ...
## .. .. .. .. .. .. ..@ Dim : int [1:2] 17374 14783
## .. .. .. .. .. .. ..@ Dimnames:List of 2
## .. .. .. .. .. .. .. ..$ : NULL
## .. .. .. .. .. .. .. ..$ : NULL
## .. .. .. .. .. .. ..@ x : num [1:14354790] 3 1 1 1 8 1 1 1 2 14 ...
## .. .. .. .. .. .. ..@ factors : list()
## .. .. .. .. ..$ data :Formal class 'dgCMatrix' [package "Matrix"] with 6 slots
## .. .. .. .. .. .. ..@ i : int [1:14354790] 4 13 17 31 48 54 70 87 128 141 ...
## .. .. .. .. .. .. ..@ p : int [1:14784] 0 1407 2310 3187 4120 4587 5331 5840 7080 7596 ...
## .. .. .. .. .. .. ..@ Dim : int [1:2] 17374 14783
## .. .. .. .. .. .. ..@ Dimnames:List of 2
## .. .. .. .. .. .. .. ..$ : NULL
## .. .. .. .. .. .. .. ..$ : NULL
## .. .. .. .. .. .. ..@ x : num [1:14354790] 9.44 7.86 7.86 7.86 10.85 ...
## .. .. .. .. .. .. ..@ factors : list()
## .. .. .. ..@ cells :Formal class 'LogMap' [package "SeuratObject"] with 1 slot
## .. .. .. .. .. ..@ .Data: logi [1:14783, 1:2] TRUE TRUE TRUE TRUE TRUE TRUE ...
## .. .. .. .. .. .. ..- attr(*, "dimnames")=List of 2
## .. .. .. .. .. .. .. ..$ : chr [1:14783] "Guo-AAACCTGAGAGCTTCT-2" "Guo-AAACCTGAGAGGTTGC-7" "Guo-AAACCTGAGATACACA-3" "Guo-AAACCTGAGCGATTCT-1" ...
## .. .. .. .. .. .. .. ..$ : chr [1:2] "counts" "data"
## .. .. .. .. .. ..$ dim : int [1:2] 14783 2
## .. .. .. .. .. ..$ dimnames:List of 2
## .. .. .. .. .. .. ..$ : chr [1:14783] "Guo-AAACCTGAGAGCTTCT-2" "Guo-AAACCTGAGAGGTTGC-7" "Guo-AAACCTGAGATACACA-3" "Guo-AAACCTGAGCGATTCT-1" ...
## .. .. .. .. .. .. ..$ : chr [1:2] "counts" "data"
## .. .. .. ..@ features :Formal class 'LogMap' [package "SeuratObject"] with 1 slot
## .. .. .. .. .. ..@ .Data: logi [1:17374, 1:2] TRUE TRUE TRUE TRUE TRUE TRUE ...
## .. .. .. .. .. .. ..- attr(*, "dimnames")=List of 2
## .. .. .. .. .. .. .. ..$ : chr [1:17374] "MED11" "SERAC1" "ALG10B" "MTMR3" ...
## .. .. .. .. .. .. .. ..$ : chr [1:2] "counts" "data"
## .. .. .. .. .. ..$ dim : int [1:2] 17374 2
## .. .. .. .. .. ..$ dimnames:List of 2
## .. .. .. .. .. .. ..$ : chr [1:17374] "MED11" "SERAC1" "ALG10B" "MTMR3" ...
## .. .. .. .. .. .. ..$ : chr [1:2] "counts" "data"
## .. .. .. ..@ default : int 1
## .. .. .. ..@ assay.orig: chr(0)
## .. .. .. ..@ meta.data :'data.frame': 17374 obs. of 0 variables
## .. .. .. ..@ misc :List of 1
## .. .. .. .. ..$ calcN: logi TRUE
## .. .. .. ..@ key : chr "rna_"
## ..@ meta.data :'data.frame': 14783 obs. of 39 variables:
## .. ..$ orig.ident : Factor w/ 1 level "SeuratProject": 1 1 1 1 1 1 1 1 1 1 ...
## .. ..$ nCount_RNA : num [1:14783] 4332 2220 2493 2159 1067 ...
## .. ..$ nFeature_RNA : int [1:14783] 1407 903 877 933 467 744 509 1240 516 875 ...
## .. ..$ disease stage : Factor w/ 2 levels "remission","severe": 2 1 1 2 1 2 2 1 1 2 ...
## .. ..$ treatment : Factor w/ 1 level "400 mg Tocilizumab at day 1": 1 1 1 1 1 1 1 1 1 1 ...
## .. ..$ timepoint : Factor w/ 3 levels "day 1","day 5",..: 1 3 2 1 2 1 1 2 2 1 ...
## .. ..$ Dataset : Factor w/ 1 level "Guo et al._Nature Communication": 1 1 1 1 1 1 1 1 1 1 ...
## .. ..$ sample : Factor w/ 7 levels "Guo_P1-day1-rep1",..: 2 7 3 1 3 2 2 4 6 5 ...
## .. ..$ disease_original : Factor w/ 2 levels "COVID-19 Mild/Remission",..: 2 1 1 2 1 2 2 1 1 2 ...
## .. ..$ disease_general : Factor w/ 2 levels "COVID-19 Remission",..: 2 1 1 2 1 2 2 1 1 2 ...
## .. ..$ COVID-19 Condition : Factor w/ 2 levels "remission","severe": 2 1 1 2 1 2 2 1 1 2 ...
## .. ..$ Lineage : Factor w/ 7 levels "Hematopoietic_Mega",..: 6 5 5 5 5 3 5 3 1 5 ...
## .. ..$ Cell.group : Factor w/ 13 levels "B cell","CD4+ T cell",..: 4 3 2 3 2 1 3 1 11 3 ...
## .. ..$ Cell.class_reannotated : Factor w/ 18 levels "B intermediate",..: 8 7 5 7 4 3 7 2 14 7 ...
## .. ..$ nFeaturess_RNA : num [1:14783] 1410 904 877 933 468 ...
## .. ..$ nCounts_RNA : num [1:14783] 12007 8440 8103 8749 4837 ...
## .. ..$ percent_mito : num [1:14783] 0.0115 0.0135 0.0154 0.0118 0.0286 ...
## .. ..$ tissue_original : Factor w/ 1 level "PBMC": 1 1 1 1 1 1 1 1 1 1 ...
## .. ..$ tissue_ontology_term_id : Factor w/ 1 level "UBERON:0000178": 1 1 1 1 1 1 1 1 1 1 ...
## .. ..$ disease_ontology_term_id : Factor w/ 1 level "MONDO:0100096": 1 1 1 1 1 1 1 1 1 1 ...
## .. ..$ donor_id : Factor w/ 2 levels "P1","P2": 1 2 1 1 1 1 1 1 2 2 ...
## .. ..$ development_stage_ontology_term_id : Factor w/ 2 levels "HsapDv:0000133",..: 1 2 1 1 1 1 1 1 2 2 ...
## .. ..$ assay_ontology_term_id : Factor w/ 1 level "EFO:0009899": 1 1 1 1 1 1 1 1 1 1 ...
## .. ..$ cell_type_ontology_term_id : Factor w/ 18 levels "CL:0000037","CL:0000233",..: 10 15 14 15 12 8 15 7 2 15 ...
## .. ..$ self_reported_ethnicity_ontology_term_id: Factor w/ 1 level "unknown": 1 1 1 1 1 1 1 1 1 1 ...
## .. ..$ sex_ontology_term_id : Factor w/ 1 level "PATO:0000384": 1 1 1 1 1 1 1 1 1 1 ...
## .. ..$ is_primary_data : logi [1:14783] FALSE FALSE FALSE FALSE FALSE FALSE ...
## .. ..$ organism_ontology_term_id : Factor w/ 1 level "NCBITaxon:9606": 1 1 1 1 1 1 1 1 1 1 ...
## .. ..$ suspension_type : Factor w/ 1 level "cell": 1 1 1 1 1 1 1 1 1 1 ...
## .. ..$ tissue_type : Factor w/ 1 level "tissue": 1 1 1 1 1 1 1 1 1 1 ...
## .. ..$ cell_type : Factor w/ 18 levels "hematopoietic stem cell",..: 10 15 14 15 12 8 15 7 2 15 ...
## .. ..$ assay : Factor w/ 1 level "10x 3' v2": 1 1 1 1 1 1 1 1 1 1 ...
## .. ..$ disease : Factor w/ 1 level "COVID-19": 1 1 1 1 1 1 1 1 1 1 ...
## .. ..$ organism : Factor w/ 1 level "Homo sapiens": 1 1 1 1 1 1 1 1 1 1 ...
## .. ..$ sex : Factor w/ 1 level "male": 1 1 1 1 1 1 1 1 1 1 ...
## .. ..$ tissue : Factor w/ 1 level "blood": 1 1 1 1 1 1 1 1 1 1 ...
## .. ..$ self_reported_ethnicity : Factor w/ 1 level "unknown": 1 1 1 1 1 1 1 1 1 1 ...
## .. ..$ development_stage : Factor w/ 2 levels "39-year-old human stage",..: 1 2 1 1 1 1 1 1 2 2 ...
## .. ..$ observation_joinid : chr [1:14783] "2P)e%zgsv_" "Lv&N1yD6*0" "DZ>`^5OH2o" "J4$QmqEgvX" ...
## ..@ active.assay: chr "RNA"
## ..@ active.ident: Factor w/ 1 level "SeuratProject": 1 1 1 1 1 1 1 1 1 1 ...
## .. ..- attr(*, "names")= chr [1:14783] "Guo-AAACCTGAGAGCTTCT-2" "Guo-AAACCTGAGAGGTTGC-7" "Guo-AAACCTGAGATACACA-3" "Guo-AAACCTGAGCGATTCT-1" ...
## ..@ graphs : list()
## ..@ neighbors : list()
## ..@ reductions :List of 3
## .. ..$ pca :Formal class 'DimReduc' [package "SeuratObject"] with 9 slots
## .. .. .. ..@ cell.embeddings : num [1:14783, 1:50] 24.64 -4.21 -4.19 -2.43 -5.38 ...
## .. .. .. .. ..- attr(*, "dimnames")=List of 2
## .. .. .. .. .. ..$ : chr [1:14783] "Guo-AAACCTGAGAGCTTCT-2" "Guo-AAACCTGAGAGGTTGC-7" "Guo-AAACCTGAGATACACA-3" "Guo-AAACCTGAGCGATTCT-1" ...
## .. .. .. .. .. ..$ : chr [1:50] "PC_1" "PC_2" "PC_3" "PC_4" ...
## .. .. .. ..@ feature.loadings : num[0 , 0 ]
## .. .. .. ..@ feature.loadings.projected: num[0 , 0 ]
## .. .. .. ..@ assay.used : chr "RNA"
## .. .. .. ..@ global : logi FALSE
## .. .. .. ..@ stdev : num(0)
## .. .. .. ..@ jackstraw :Formal class 'JackStrawData' [package "SeuratObject"] with 4 slots
## .. .. .. .. .. ..@ empirical.p.values : num[0 , 0 ]
## .. .. .. .. .. ..@ fake.reduction.scores : num[0 , 0 ]
## .. .. .. .. .. ..@ empirical.p.values.full: num[0 , 0 ]
## .. .. .. .. .. ..@ overall.p.values : num[0 , 0 ]
## .. .. .. ..@ misc : list()
## .. .. .. ..@ key : chr "PC_"
## .. ..$ tsne:Formal class 'DimReduc' [package "SeuratObject"] with 9 slots
## .. .. .. ..@ cell.embeddings : num [1:14783, 1:2] 44.59 -5.39 -15.35 11.78 6.39 ...
## .. .. .. .. ..- attr(*, "dimnames")=List of 2
## .. .. .. .. .. ..$ : chr [1:14783] "Guo-AAACCTGAGAGCTTCT-2" "Guo-AAACCTGAGAGGTTGC-7" "Guo-AAACCTGAGATACACA-3" "Guo-AAACCTGAGCGATTCT-1" ...
## .. .. .. .. .. ..$ : chr [1:2] "tSNE_1" "tSNE_2"
## .. .. .. ..@ feature.loadings : num[0 , 0 ]
## .. .. .. ..@ feature.loadings.projected: num[0 , 0 ]
## .. .. .. ..@ assay.used : chr "RNA"
## .. .. .. ..@ global : logi FALSE
## .. .. .. ..@ stdev : num(0)
## .. .. .. ..@ jackstraw :Formal class 'JackStrawData' [package "SeuratObject"] with 4 slots
## .. .. .. .. .. ..@ empirical.p.values : num[0 , 0 ]
## .. .. .. .. .. ..@ fake.reduction.scores : num[0 , 0 ]
## .. .. .. .. .. ..@ empirical.p.values.full: num[0 , 0 ]
## .. .. .. .. .. ..@ overall.p.values : num[0 , 0 ]
## .. .. .. ..@ misc : list()
## .. .. .. ..@ key : chr "tSNE_"
## .. ..$ umap:Formal class 'DimReduc' [package "SeuratObject"] with 9 slots
## .. .. .. ..@ cell.embeddings : num [1:14783, 1:2] -9.35 3.04 6.44 5.66 8.58 ...
## .. .. .. .. ..- attr(*, "dimnames")=List of 2
## .. .. .. .. .. ..$ : chr [1:14783] "Guo-AAACCTGAGAGCTTCT-2" "Guo-AAACCTGAGAGGTTGC-7" "Guo-AAACCTGAGATACACA-3" "Guo-AAACCTGAGCGATTCT-1" ...
## .. .. .. .. .. ..$ : chr [1:2] "UMAP_1" "UMAP_2"
## .. .. .. ..@ feature.loadings : num[0 , 0 ]
## .. .. .. ..@ feature.loadings.projected: num[0 , 0 ]
## .. .. .. ..@ assay.used : chr "RNA"
## .. .. .. ..@ global : logi FALSE
## .. .. .. ..@ stdev : num(0)
## .. .. .. ..@ jackstraw :Formal class 'JackStrawData' [package "SeuratObject"] with 4 slots
## .. .. .. .. .. ..@ empirical.p.values : num[0 , 0 ]
## .. .. .. .. .. ..@ fake.reduction.scores : num[0 , 0 ]
## .. .. .. .. .. ..@ empirical.p.values.full: num[0 , 0 ]
## .. .. .. .. .. ..@ overall.p.values : num[0 , 0 ]
## .. .. .. ..@ misc : list()
## .. .. .. ..@ key : chr "UMAP_"
## ..@ images : list()
## ..@ project.name: chr "SeuratProject"
## ..@ misc : list()
## ..@ version :Classes 'package_version', 'numeric_version' hidden list of 1
## .. ..$ : int [1:3] 5 0 2
## ..@ commands : list()
## ..@ tools : list()
str(ref)
## Formal class 'Seurat' [package "SeuratObject"] with 13 slots
## ..@ assays :List of 2
## .. ..$ ADT :Formal class 'Assay' [package "SeuratObject"] with 8 slots
## .. .. .. ..@ counts : num[0 , 0 ]
## .. .. .. ..@ data : num [1:228, 1:36433] 0.742 1.113 1.06 2.446 0.815 ...
## .. .. .. .. ..- attr(*, "dimnames")=List of 2
## .. .. .. .. .. ..$ : chr [1:228] "CD39" "Rat-IgG1-1" "CD107a" "CD62P" ...
## .. .. .. .. .. ..$ : chr [1:36433] "L1_AAACGAATCCTCACCA" "L1_AAACGCTAGAGCATTA" "L1_AAACGCTCAACGATCT" "L1_AAACGCTGTGCTCGTG" ...
## .. .. .. ..@ scale.data : num[0 , 0 ]
## .. .. .. ..@ assay.orig : NULL
## .. .. .. ..@ var.features : chr [1:224] "CD80" "CD86" "CD274" "CD273" ...
## .. .. .. ..@ meta.features:'data.frame': 228 obs. of 0 variables
## .. .. .. ..@ misc : Named list()
## .. .. .. ..@ key : chr "adt_"
## .. ..$ refAssay:Formal class 'SCTAssay' [package "Seurat"] with 9 slots
## .. .. .. ..@ SCTModel.list:List of 1
## .. .. .. .. ..$ refmodel:Formal class 'SCTModel' [package "Seurat"] with 7 slots
## .. .. .. .. .. .. ..@ feature.attributes:'data.frame': 16378 obs. of 9 variables:
## .. .. .. .. .. .. .. ..$ detection_rate : num [1:16378] 0.00234 0.03178 0.0174 0.00468 0.19053 ...
## .. .. .. .. .. .. .. ..$ gmean : num [1:16378] 0.00162 0.02319 0.01227 0.00325 0.15567 ...
## .. .. .. .. .. .. .. ..$ variance : num [1:16378] 0.00234 0.03865 0.01809 0.00466 0.25144 ...
## .. .. .. .. .. .. .. ..$ residual_mean : num [1:16378] 0.00191 -0.00415 0.00864 0.00552 0.01926 ...
## .. .. .. .. .. .. .. ..$ residual_variance : num [1:16378] 0.99 0.93 1.05 1.04 0.97 ...
## .. .. .. .. .. .. .. ..$ theta : num [1:16378] 0.0686 0.4304 0.2126 0.0631 1.7654 ...
## .. .. .. .. .. .. .. ..$ (Intercept) : num [1:16378] -14 -11.6 -12.3 -14.7 -11 ...
## .. .. .. .. .. .. .. ..$ log_umi : num [1:16378] 2.07 2.14 2.14 2.41 2.48 ...
## .. .. .. .. .. .. .. ..$ genes_log_gmean_step1: int [1:16378] 0 1 1 0 0 0 0 0 0 0 ...
## .. .. .. .. .. .. ..@ cell.attributes :'data.frame': 1262 obs. of 3 variables:
## .. .. .. .. .. .. .. ..$ umi : num [1:1262] 4389 7759 3821 9595 5962 ...
## .. .. .. .. .. .. .. ..$ log_umi : num [1:1262] 3.64 3.89 3.58 3.98 3.78 ...
## .. .. .. .. .. .. .. ..$ cells_step1: int [1:1262] 1 1 1 1 0 0 0 1 1 1 ...
## .. .. .. .. .. .. ..@ clips :List of 2
## .. .. .. .. .. .. .. ..$ sct: num [1:2] -14.1 14.1
## .. .. .. .. .. .. .. ..$ vst: num [1:2] -77.3 77.3
## .. .. .. .. .. .. ..@ umi.assay : chr "RNA"
## .. .. .. .. .. .. ..@ model : chr "y ~ log_umi"
## .. .. .. .. .. .. ..@ arguments :List of 19
## .. .. .. .. .. .. .. ..$ latent_var : chr "log_umi"
## .. .. .. .. .. .. .. ..$ n_genes : num 2000
## .. .. .. .. .. .. .. ..$ n_cells : num 5000
## .. .. .. .. .. .. .. ..$ method : chr "glmGamPoi"
## .. .. .. .. .. .. .. ..$ do_regularize : logi TRUE
## .. .. .. .. .. .. .. ..$ theta_regularization: chr "od_factor"
## .. .. .. .. .. .. .. ..$ res_clip_range : num [1:2] -77.3 77.3
## .. .. .. .. .. .. .. ..$ bin_size : num 500
## .. .. .. .. .. .. .. ..$ min_cells : num 5
## .. .. .. .. .. .. .. ..$ residual_type : chr "pearson"
## .. .. .. .. .. .. .. ..$ return_cell_attr : logi TRUE
## .. .. .. .. .. .. .. ..$ return_gene_attr : logi TRUE
## .. .. .. .. .. .. .. ..$ return_corrected_umi: logi TRUE
## .. .. .. .. .. .. .. ..$ min_variance : num -Inf
## .. .. .. .. .. .. .. ..$ bw_adjust : num 3
## .. .. .. .. .. .. .. ..$ gmean_eps : num 1
## .. .. .. .. .. .. .. ..$ theta_estimation_fun: chr "theta.ml"
## .. .. .. .. .. .. .. ..$ verbosity : num 2
## .. .. .. .. .. .. .. ..$ sct.clip.range : num [1:2] -14.1 14.1
## .. .. .. .. .. .. ..@ NA : NULL
## .. .. .. ..@ counts : num[0 , 0 ]
## .. .. .. ..@ data :Formal class 'dgCMatrix' [package "Matrix"] with 6 slots
## .. .. .. .. .. ..@ i : int(0)
## .. .. .. .. .. ..@ p : int [1:36434] 0 0 0 0 0 0 0 0 0 0 ...
## .. .. .. .. .. ..@ Dim : int [1:2] 5000 36433
## .. .. .. .. .. ..@ Dimnames:List of 2
## .. .. .. .. .. .. ..$ : chr [1:5000] "S100A9" "GNLY" "S100A8" "LYZ" ...
## .. .. .. .. .. .. ..$ : chr [1:36433] "L1_AAACGAATCCTCACCA" "L1_AAACGCTAGAGCATTA" "L1_AAACGCTCAACGATCT" "L1_AAACGCTGTGCTCGTG" ...
## .. .. .. .. .. ..@ x : num(0)
## .. .. .. .. .. ..@ factors : list()
## .. .. .. ..@ scale.data : num[0 , 0 ]
## .. .. .. ..@ assay.orig : NULL
## .. .. .. ..@ var.features : logi(0)
## .. .. .. ..@ meta.features:'data.frame': 5000 obs. of 0 variables
## .. .. .. ..@ misc : list()
## .. .. .. ..@ key : chr "refassay_"
## ..@ meta.data :'data.frame': 36433 obs. of 6 variables:
## .. ..$ celltype.l1 : Factor w/ 8 levels "B","CD4 T","CD8 T",..: 8 3 3 8 1 2 1 3 2 4 ...
## .. ..$ celltype.l2 : Factor w/ 30 levels "ASDC","B intermediate",..: 20 15 14 18 2 10 2 15 10 27 ...
## .. ..$ celltype.l3 : Factor w/ 57 levels "ASDC_mDC","ASDC_pDC",..: 41 28 24 37 4 16 3 27 14 52 ...
## .. ..$ ori.index : int [1:36433] 27 30 35 40 42 46 47 61 62 63 ...
## .. ..$ nCount_refAssay : num [1:36433] 0 0 0 0 0 0 0 0 0 0 ...
## .. ..$ nFeature_refAssay: int [1:36433] 0 0 0 0 0 0 0 0 0 0 ...
## ..@ active.assay: chr "refAssay"
## ..@ active.ident: Factor w/ 57 levels "CD14 Mono","CD4 TCM_1",..: 15 14 17 18 7 11 19 5 2 21 ...
## .. ..- attr(*, "names")= chr [1:36433] "L1_AAACGAATCCTCACCA" "L1_AAACGCTAGAGCATTA" "L1_AAACGCTCAACGATCT" "L1_AAACGCTGTGCTCGTG" ...
## ..@ graphs : list()
## ..@ neighbors :List of 1
## .. ..$ refdr.annoy.neighbors:Formal class 'Neighbor' [package "SeuratObject"] with 5 slots
## .. .. .. ..@ nn.idx : num [1:36433, 1:31] 1 2 3 4 5 6 7 8 9 10 ...
## .. .. .. ..@ nn.dist : num [1:36433, 1:31] 0 0 0 0 0 0 0 0 0 0 ...
## .. .. .. ..@ alg.idx :Reference class 'Rcpp_AnnoyAngular' [package "RcppAnnoy"] with 0 fields
## list()
## .. .. .. .. ..and 33 methods, of which 19 are possibly relevant:
## .. .. .. .. .. addItem, build, finalize, getDistance, getItemsVector,
## .. .. .. .. .. getNItems, getNNsByItem, getNNsByItemList, getNNsByVector,
## .. .. .. .. .. getNNsByVectorList, getNTrees, initialize, load, onDiskBuild,
## .. .. .. .. .. save, setSeed, setVerbose, unbuild, unload
## .. .. .. ..@ alg.info :List of 2
## .. .. .. .. ..$ metric: chr "cosine"
## .. .. .. .. ..$ ndim : int 50
## .. .. .. ..@ cell.names: chr [1:36433] "L1_AAACGAATCCTCACCA" "L1_AAACGCTAGAGCATTA" "L1_AAACGCTCAACGATCT" "L1_AAACGCTGTGCTCGTG" ...
## ..@ reductions :List of 2
## .. ..$ refUMAP:Formal class 'DimReduc' [package "SeuratObject"] with 9 slots
## .. .. .. ..@ cell.embeddings : num [1:36433, 1:2] 8.62 4.9 8.43 9.33 -7.33 ...
## .. .. .. .. ..- attr(*, "dimnames")=List of 2
## .. .. .. .. .. ..$ : chr [1:36433] "L1_AAACGAATCCTCACCA" "L1_AAACGCTAGAGCATTA" "L1_AAACGCTCAACGATCT" "L1_AAACGCTGTGCTCGTG" ...
## .. .. .. .. .. ..$ : chr [1:2] "refumap_1" "refumap_2"
## .. .. .. ..@ feature.loadings : num[0 , 0 ]
## .. .. .. ..@ feature.loadings.projected: num[0 , 0 ]
## .. .. .. ..@ assay.used : chr "SCT"
## .. .. .. ..@ global : logi TRUE
## .. .. .. ..@ stdev : num(0)
## .. .. .. ..@ jackstraw :Formal class 'JackStrawData' [package "SeuratObject"] with 4 slots
## .. .. .. .. .. ..@ empirical.p.values : num[0 , 0 ]
## .. .. .. .. .. ..@ fake.reduction.scores : num[0 , 0 ]
## .. .. .. .. .. ..@ empirical.p.values.full: num[0 , 0 ]
## .. .. .. .. .. ..@ overall.p.values : num[0 , 0 ]
## .. .. .. ..@ misc :List of 1
## .. .. .. .. ..$ model:List of 16
## .. .. .. .. .. ..$ embedding : num [1:161764, 1:2] -9.94 5.29 11.91 2.37 12.37 ...
## .. .. .. .. .. ..$ n_neighbors : num 15
## .. .. .. .. .. ..$ search_k : num 1500
## .. .. .. .. .. ..$ local_connectivity : int 1
## .. .. .. .. .. ..$ n_epochs : num 200
## .. .. .. .. .. ..$ alpha : num 1
## .. .. .. .. .. ..$ negative_sample_rate: int 5
## .. .. .. .. .. ..$ method : chr "umap"
## .. .. .. .. .. ..$ a : num 0.992
## .. .. .. .. .. ..$ b : num 1.11
## .. .. .. .. .. ..$ gamma : num 1
## .. .. .. .. .. ..$ approx_pow : int 0
## .. .. .. .. .. ..$ metric :List of 1
## .. .. .. .. .. .. ..$ cosine: Named list()
## .. .. .. .. .. ..$ pcg_rand : int 1
## .. .. .. .. .. ..$ pca_models : Named list()
## .. .. .. .. .. ..$ num_precomputed_nns : num 1
## .. .. .. ..@ key : chr "refumap_"
## .. ..$ refDR :Formal class 'DimReduc' [package "SeuratObject"] with 9 slots
## .. .. .. ..@ cell.embeddings : num [1:36433, 1:50] -20.9 -20.9 -22.6 -17.8 -13.7 ...
## .. .. .. .. ..- attr(*, "dimnames")=List of 2
## .. .. .. .. .. ..$ : chr [1:36433] "L1_AAACGAATCCTCACCA" "L1_AAACGCTAGAGCATTA" "L1_AAACGCTCAACGATCT" "L1_AAACGCTGTGCTCGTG" ...
## .. .. .. .. .. ..$ : chr [1:50] "refdr_1" "refdr_2" "refdr_3" "refdr_4" ...
## .. .. .. ..@ feature.loadings : num [1:5000, 1:50] 0.1754 -0.0565 0.1527 0.2007 -0.0196 ...
## .. .. .. .. ..- attr(*, "dimnames")=List of 2
## .. .. .. .. .. ..$ : chr [1:5000] "S100A9" "GNLY" "S100A8" "LYZ" ...
## .. .. .. .. .. ..$ : chr [1:50] "refdr_1" "refdr_2" "refdr_3" "refdr_4" ...
## .. .. .. ..@ feature.loadings.projected: num[0 , 0 ]
## .. .. .. ..@ assay.used : chr "refAssay"
## .. .. .. ..@ global : logi TRUE
## .. .. .. ..@ stdev : num [1:50] 21537618 7516787 6242424 4581943 2722401 ...
## .. .. .. ..@ jackstraw :Formal class 'JackStrawData' [package "SeuratObject"] with 4 slots
## .. .. .. .. .. ..@ empirical.p.values : num[0 , 0 ]
## .. .. .. .. .. ..@ fake.reduction.scores : num[0 , 0 ]
## .. .. .. .. .. ..@ empirical.p.values.full: num[0 , 0 ]
## .. .. .. .. .. ..@ overall.p.values : num[0 , 0 ]
## .. .. .. ..@ misc : Named list()
## .. .. .. ..@ key : chr "refdr_"
## ..@ images : list()
## ..@ project.name: chr "SeuratProject"
## ..@ misc : list()
## ..@ version :Classes 'package_version', 'numeric_version' hidden list of 1
## .. ..$ : int [1:4] 3 1 5 9006
## ..@ commands :List of 1
## .. ..$ NormalizeData.ADT:Formal class 'SeuratCommand' [package "SeuratObject"] with 5 slots
## .. .. .. ..@ name : chr "NormalizeData.ADT"
## .. .. .. ..@ time.stamp : POSIXct[1:1], format: "2021-01-25 23:05:52"
## .. .. .. ..@ assay.used : chr "ADT"
## .. .. .. ..@ call.string: chr "NormalizeData(pbmc, normalization.method = \"CLR\", margin = 2)"
## .. .. .. ..@ params :List of 5
## .. .. .. .. ..$ assay : chr "ADT"
## .. .. .. .. ..$ normalization.method: chr "CLR"
## .. .. .. .. ..$ scale.factor : num 10000
## .. .. .. .. ..$ margin : num 2
## .. .. .. .. ..$ verbose : logi TRUE
## ..@ tools :List of 1
## .. ..$ AzimuthReference:Formal class 'AzimuthData' [package "Azimuth"] with 5 slots
## .. .. .. ..@ plotref :Formal class 'DimReduc' [package "SeuratObject"] with 9 slots
## .. .. .. .. .. ..@ cell.embeddings : num [1:24760, 1:2] -7.33 7.7 6.37 4.24 7.57 ...
## .. .. .. .. .. .. ..- attr(*, "dimnames")=List of 2
## .. .. .. .. .. .. .. ..$ : chr [1:24760] "L1_AAACCCACATGGATCT" "L1_AAACGAAAGTTGAATG" "L1_AAACGAACAATGAGCG" "L1_AAACGAAGTATTCTCT" ...
## .. .. .. .. .. .. .. ..$ : chr [1:2] "WUMAP_1" "WUMAP_2"
## .. .. .. .. .. ..@ feature.loadings : num[0 , 0 ]
## .. .. .. .. .. ..@ feature.loadings.projected: num[0 , 0 ]
## .. .. .. .. .. ..@ assay.used : chr "SCT"
## .. .. .. .. .. ..@ global : logi TRUE
## .. .. .. .. .. ..@ stdev : num(0)
## .. .. .. .. .. ..@ jackstraw :Formal class 'JackStrawData' [package "SeuratObject"] with 4 slots
## .. .. .. .. .. .. .. ..@ empirical.p.values : num[0 , 0 ]
## .. .. .. .. .. .. .. ..@ fake.reduction.scores : num[0 , 0 ]
## .. .. .. .. .. .. .. ..@ empirical.p.values.full: num[0 , 0 ]
## .. .. .. .. .. .. .. ..@ overall.p.values : num[0 , 0 ]
## .. .. .. .. .. ..@ misc :List of 2
## .. .. .. .. .. .. ..$ model :List of 15
## .. .. .. .. .. .. .. ..$ embedding : num [1:161764, 1:2] -9.94 5.29 11.91 2.37 12.37 ...
## .. .. .. .. .. .. .. ..$ n_neighbors : num 15
## .. .. .. .. .. .. .. ..$ search_k : num 1500
## .. .. .. .. .. .. .. ..$ local_connectivity : int 1
## .. .. .. .. .. .. .. ..$ n_epochs : num 200
## .. .. .. .. .. .. .. ..$ alpha : num 1
## .. .. .. .. .. .. .. ..$ negative_sample_rate: int 5
## .. .. .. .. .. .. .. ..$ method : chr "umap"
## .. .. .. .. .. .. .. ..$ a : num 0.992
## .. .. .. .. .. .. .. ..$ b : num 1.11
## .. .. .. .. .. .. .. ..$ gamma : num 1
## .. .. .. .. .. .. .. ..$ approx_pow : int 0
## .. .. .. .. .. .. .. ..$ metric :List of 1
## .. .. .. .. .. .. .. .. ..$ cosine: Named list()
## .. .. .. .. .. .. .. ..$ pcg_rand : int 1
## .. .. .. .. .. .. .. ..$ pca_models : Named list()
## .. .. .. .. .. .. ..$ plot.metadata:'data.frame': 24760 obs. of 3 variables:
## .. .. .. .. .. .. .. ..$ celltype.l1: Factor w/ 8 levels "Mono","CD4 T",..: 5 6 2 2 2 2 6 5 6 3 ...
## .. .. .. .. .. .. .. ..$ celltype.l2: Factor w/ 30 levels "ASDC","B intermediate",..: 2 23 10 10 8 8 18 2 23 13 ...
## .. .. .. .. .. .. .. ..$ celltype.l3: Factor w/ 57 levels "B intermediate lambda",..: 1 2 3 4 5 5 6 1 2 7 ...
## .. .. .. .. .. ..@ key : chr "WUMAP_"
## .. .. .. ..@ colormap :List of 3
## .. .. .. .. ..$ celltype.l1: Named chr [1:8] "#F8766D" "#CD9600" "#7CAE00" "#00BE67" ...
## .. .. .. .. .. ..- attr(*, "names")= chr [1:8] "Mono" "CD4 T" "CD8 T" "NK" ...
## .. .. .. .. ..$ celltype.l2: Named chr [1:30] "#8AAB00" "#C99800" "#00BA38" "#FF6C91" ...
## .. .. .. .. .. ..- attr(*, "names")= chr [1:30] "ASDC" "B intermediate" "B memory" "B naive" ...
## .. .. .. .. ..$ celltype.l3: Named chr [1:57] "#F8766D" "#F47B5B" "#EF7F47" "#E9842C" ...
## .. .. .. .. .. ..- attr(*, "names")= chr [1:57] "B intermediate lambda" "MAIT" "CD4 TCM_2" "CD4 TCM_3" ...
## .. .. .. ..@ seurat.version :Classes 'package_version', 'numeric_version' hidden list of 1
## .. .. .. .. ..$ : int [1:3] 4 0 0
## .. .. .. ..@ azimuth.version :Classes 'package_version', 'numeric_version' hidden list of 1
## .. .. .. .. ..$ : int [1:4] 0 2 0 9015
## .. .. .. ..@ reference.version: chr "1.0.0"
# Check meta.data
head(query@meta.data)
## orig.ident nCount_RNA nFeature_RNA disease stage
## Guo-AAACCTGAGAGCTTCT-2 SeuratProject 4332 1407 severe
## Guo-AAACCTGAGAGGTTGC-7 SeuratProject 2220 903 remission
## Guo-AAACCTGAGATACACA-3 SeuratProject 2493 877 remission
## Guo-AAACCTGAGCGATTCT-1 SeuratProject 2159 933 severe
## Guo-AAACCTGAGTGAAGAG-3 SeuratProject 1067 467 remission
## Guo-AAACCTGAGTTGAGTA-2 SeuratProject 1905 744 severe
## treatment timepoint
## Guo-AAACCTGAGAGCTTCT-2 400 mg Tocilizumab at day 1 day 1
## Guo-AAACCTGAGAGGTTGC-7 400 mg Tocilizumab at day 1 day 7
## Guo-AAACCTGAGATACACA-3 400 mg Tocilizumab at day 1 day 5
## Guo-AAACCTGAGCGATTCT-1 400 mg Tocilizumab at day 1 day 1
## Guo-AAACCTGAGTGAAGAG-3 400 mg Tocilizumab at day 1 day 5
## Guo-AAACCTGAGTTGAGTA-2 400 mg Tocilizumab at day 1 day 1
## Dataset sample
## Guo-AAACCTGAGAGCTTCT-2 Guo et al._Nature Communication Guo_P1-day1-rep2
## Guo-AAACCTGAGAGGTTGC-7 Guo et al._Nature Communication Guo_P2-day7
## Guo-AAACCTGAGATACACA-3 Guo et al._Nature Communication Guo_P1-day5-rep1
## Guo-AAACCTGAGCGATTCT-1 Guo et al._Nature Communication Guo_P1-day1-rep1
## Guo-AAACCTGAGTGAAGAG-3 Guo et al._Nature Communication Guo_P1-day5-rep1
## Guo-AAACCTGAGTTGAGTA-2 Guo et al._Nature Communication Guo_P1-day1-rep2
## disease_original disease_general
## Guo-AAACCTGAGAGCTTCT-2 COVID-19 Severe COVID-19 Severe/Late stage/Vent
## Guo-AAACCTGAGAGGTTGC-7 COVID-19 Mild/Remission COVID-19 Remission
## Guo-AAACCTGAGATACACA-3 COVID-19 Mild/Remission COVID-19 Remission
## Guo-AAACCTGAGCGATTCT-1 COVID-19 Severe COVID-19 Severe/Late stage/Vent
## Guo-AAACCTGAGTGAAGAG-3 COVID-19 Mild/Remission COVID-19 Remission
## Guo-AAACCTGAGTTGAGTA-2 COVID-19 Severe COVID-19 Severe/Late stage/Vent
## COVID-19 Condition Lineage Cell.group
## Guo-AAACCTGAGAGCTTCT-2 severe Myeloid CD14+ Monocyte
## Guo-AAACCTGAGAGGTTGC-7 remission Lymphoid_T/NK CD8+ T cell
## Guo-AAACCTGAGATACACA-3 remission Lymphoid_T/NK CD4+ T cell
## Guo-AAACCTGAGCGATTCT-1 severe Lymphoid_T/NK CD8+ T cell
## Guo-AAACCTGAGTGAAGAG-3 remission Lymphoid_T/NK CD4+ T cell
## Guo-AAACCTGAGTTGAGTA-2 severe Lymphoid_B B cell
## Cell.class_reannotated nFeaturess_RNA nCounts_RNA
## Guo-AAACCTGAGAGCTTCT-2 Classical Monocyte 1410 12006.946
## Guo-AAACCTGAGAGGTTGC-7 CD8+ Tem 904 8439.710
## Guo-AAACCTGAGATACACA-3 CD4+ Tcm 877 8103.279
## Guo-AAACCTGAGCGATTCT-1 CD8+ Tem 933 8748.600
## Guo-AAACCTGAGTGAAGAG-3 CD4+ T naive 468 4836.542
## Guo-AAACCTGAGTTGAGTA-2 B naive 744 7164.143
## percent_mito tissue_original tissue_ontology_term_id
## Guo-AAACCTGAGAGCTTCT-2 0.01152303 PBMC UBERON:0000178
## Guo-AAACCTGAGAGGTTGC-7 0.01349096 PBMC UBERON:0000178
## Guo-AAACCTGAGATACACA-3 0.01543431 PBMC UBERON:0000178
## Guo-AAACCTGAGCGATTCT-1 0.01182754 PBMC UBERON:0000178
## Guo-AAACCTGAGTGAAGAG-3 0.02864259 PBMC UBERON:0000178
## Guo-AAACCTGAGTTGAGTA-2 0.01400229 PBMC UBERON:0000178
## disease_ontology_term_id donor_id
## Guo-AAACCTGAGAGCTTCT-2 MONDO:0100096 P1
## Guo-AAACCTGAGAGGTTGC-7 MONDO:0100096 P2
## Guo-AAACCTGAGATACACA-3 MONDO:0100096 P1
## Guo-AAACCTGAGCGATTCT-1 MONDO:0100096 P1
## Guo-AAACCTGAGTGAAGAG-3 MONDO:0100096 P1
## Guo-AAACCTGAGTTGAGTA-2 MONDO:0100096 P1
## development_stage_ontology_term_id
## Guo-AAACCTGAGAGCTTCT-2 HsapDv:0000133
## Guo-AAACCTGAGAGGTTGC-7 HsapDv:0000172
## Guo-AAACCTGAGATACACA-3 HsapDv:0000133
## Guo-AAACCTGAGCGATTCT-1 HsapDv:0000133
## Guo-AAACCTGAGTGAAGAG-3 HsapDv:0000133
## Guo-AAACCTGAGTTGAGTA-2 HsapDv:0000133
## assay_ontology_term_id cell_type_ontology_term_id
## Guo-AAACCTGAGAGCTTCT-2 EFO:0009899 CL:0000860
## Guo-AAACCTGAGAGGTTGC-7 EFO:0009899 CL:0000913
## Guo-AAACCTGAGATACACA-3 EFO:0009899 CL:0000904
## Guo-AAACCTGAGCGATTCT-1 EFO:0009899 CL:0000913
## Guo-AAACCTGAGTGAAGAG-3 EFO:0009899 CL:0000895
## Guo-AAACCTGAGTTGAGTA-2 EFO:0009899 CL:0000788
## self_reported_ethnicity_ontology_term_id
## Guo-AAACCTGAGAGCTTCT-2 unknown
## Guo-AAACCTGAGAGGTTGC-7 unknown
## Guo-AAACCTGAGATACACA-3 unknown
## Guo-AAACCTGAGCGATTCT-1 unknown
## Guo-AAACCTGAGTGAAGAG-3 unknown
## Guo-AAACCTGAGTTGAGTA-2 unknown
## sex_ontology_term_id is_primary_data
## Guo-AAACCTGAGAGCTTCT-2 PATO:0000384 FALSE
## Guo-AAACCTGAGAGGTTGC-7 PATO:0000384 FALSE
## Guo-AAACCTGAGATACACA-3 PATO:0000384 FALSE
## Guo-AAACCTGAGCGATTCT-1 PATO:0000384 FALSE
## Guo-AAACCTGAGTGAAGAG-3 PATO:0000384 FALSE
## Guo-AAACCTGAGTTGAGTA-2 PATO:0000384 FALSE
## organism_ontology_term_id suspension_type tissue_type
## Guo-AAACCTGAGAGCTTCT-2 NCBITaxon:9606 cell tissue
## Guo-AAACCTGAGAGGTTGC-7 NCBITaxon:9606 cell tissue
## Guo-AAACCTGAGATACACA-3 NCBITaxon:9606 cell tissue
## Guo-AAACCTGAGCGATTCT-1 NCBITaxon:9606 cell tissue
## Guo-AAACCTGAGTGAAGAG-3 NCBITaxon:9606 cell tissue
## Guo-AAACCTGAGTTGAGTA-2 NCBITaxon:9606 cell tissue
## cell_type
## Guo-AAACCTGAGAGCTTCT-2 classical monocyte
## Guo-AAACCTGAGAGGTTGC-7 effector memory CD8-positive, alpha-beta T cell
## Guo-AAACCTGAGATACACA-3 central memory CD4-positive, alpha-beta T cell
## Guo-AAACCTGAGCGATTCT-1 effector memory CD8-positive, alpha-beta T cell
## Guo-AAACCTGAGTGAAGAG-3 naive thymus-derived CD4-positive, alpha-beta T cell
## Guo-AAACCTGAGTTGAGTA-2 naive B cell
## assay disease organism sex tissue
## Guo-AAACCTGAGAGCTTCT-2 10x 3' v2 COVID-19 Homo sapiens male blood
## Guo-AAACCTGAGAGGTTGC-7 10x 3' v2 COVID-19 Homo sapiens male blood
## Guo-AAACCTGAGATACACA-3 10x 3' v2 COVID-19 Homo sapiens male blood
## Guo-AAACCTGAGCGATTCT-1 10x 3' v2 COVID-19 Homo sapiens male blood
## Guo-AAACCTGAGTGAAGAG-3 10x 3' v2 COVID-19 Homo sapiens male blood
## Guo-AAACCTGAGTTGAGTA-2 10x 3' v2 COVID-19 Homo sapiens male blood
## self_reported_ethnicity development_stage
## Guo-AAACCTGAGAGCTTCT-2 unknown 39-year-old human stage
## Guo-AAACCTGAGAGGTTGC-7 unknown 78-year-old human stage
## Guo-AAACCTGAGATACACA-3 unknown 39-year-old human stage
## Guo-AAACCTGAGCGATTCT-1 unknown 39-year-old human stage
## Guo-AAACCTGAGTGAAGAG-3 unknown 39-year-old human stage
## Guo-AAACCTGAGTTGAGTA-2 unknown 39-year-old human stage
## observation_joinid
## Guo-AAACCTGAGAGCTTCT-2 2P)e%zgsv_
## Guo-AAACCTGAGAGGTTGC-7 Lv&N1yD6*0
## Guo-AAACCTGAGATACACA-3 DZ>`^5OH2o
## Guo-AAACCTGAGCGATTCT-1 J4$QmqEgvX
## Guo-AAACCTGAGTGAAGAG-3 Y&7u#&E`-T
## Guo-AAACCTGAGTTGAGTA-2 XQ2XgsY|}S
head(ref@meta.data)
## celltype.l1 celltype.l2 celltype.l3 ori.index
## L1_AAACGAATCCTCACCA other T gdT gdT_3 27
## L1_AAACGCTAGAGCATTA CD8 T CD8 TEM CD8 TEM_2 30
## L1_AAACGCTCAACGATCT CD8 T CD8 TCM CD8 TCM_1 35
## L1_AAACGCTGTGCTCGTG other T dnT dnT_2 40
## L1_AAACGCTTCTTGGTCC B B intermediate B intermediate lambda 42
## L1_AAAGAACCAAGCGGAT CD4 T CD4 TCM CD4 TCM_3 46
## nCount_refAssay nFeature_refAssay
## L1_AAACGAATCCTCACCA 0 0
## L1_AAACGCTAGAGCATTA 0 0
## L1_AAACGCTCAACGATCT 0 0
## L1_AAACGCTGTGCTCGTG 0 0
## L1_AAACGCTTCTTGGTCC 0 0
## L1_AAAGAACCAAGCGGAT 0 0
# Check how different cell types are in the reference
table(ref$celltype.l1)
##
## B CD4 T CD8 T DC Mono NK other other T
## 2698 17646 5858 922 4564 2051 1078 1616
table(ref$celltype.l2)
##
## ASDC B intermediate B memory B naive
## 16 899 597 903
## CD14 Mono CD16 Mono CD4 CTL CD4 Naive
## 3673 891 296 1403
## CD4 Proliferating CD4 TCM CD4 TEM CD8 Naive
## 57 14889 703 1148
## CD8 Proliferating CD8 TCM CD8 TEM cDC1
## 31 2883 1796 150
## cDC2 dnT Eryth gdT
## 472 181 81 835
## HSPC ILC MAIT NK
## 300 131 600 1546
## NK Proliferating NK_CD56bright pDC Plasmablast
## 214 291 284 299
## Platelet Treg
## 566 298
# Check no. of genes
nrow(query)
## [1] 17374
nrow(ref)
## [1] 5000
# Check no. of cells
ncol(query)
## [1] 14783
ncol(ref)
## [1] 36433
(10 min)
AIM: Visualize data in the low dimensional space highlighting the different categorical variables of interest.
Check the metadata of query and reference objects and choose the most interesting categorical variables to highlight into UMAP.
## Dimensional reduction - visualization
## Reference
head(ref@meta.data)
## celltype.l1 celltype.l2 celltype.l3 ori.index
## L1_AAACGAATCCTCACCA other T gdT gdT_3 27
## L1_AAACGCTAGAGCATTA CD8 T CD8 TEM CD8 TEM_2 30
## L1_AAACGCTCAACGATCT CD8 T CD8 TCM CD8 TCM_1 35
## L1_AAACGCTGTGCTCGTG other T dnT dnT_2 40
## L1_AAACGCTTCTTGGTCC B B intermediate B intermediate lambda 42
## L1_AAAGAACCAAGCGGAT CD4 T CD4 TCM CD4 TCM_3 46
## nCount_refAssay nFeature_refAssay
## L1_AAACGAATCCTCACCA 0 0
## L1_AAACGCTAGAGCATTA 0 0
## L1_AAACGCTCAACGATCT 0 0
## L1_AAACGCTGTGCTCGTG 0 0
## L1_AAACGCTTCTTGGTCC 0 0
## L1_AAAGAACCAAGCGGAT 0 0
ref.vars <- c("celltype.l1", "celltype.l2")
ref.umap.plts <- lapply(X = ref.vars, function(x) {
DimPlot(object = ref, reduction = "refUMAP", group.by = x, pt.size = 0.1, label = TRUE)
})
## Query
colnames(query@meta.data)[1] <- "disease_stage"
head(query@meta.data)
## disease_stage nCount_RNA nFeature_RNA disease stage
## Guo-AAACCTGAGAGCTTCT-2 SeuratProject 4332 1407 severe
## Guo-AAACCTGAGAGGTTGC-7 SeuratProject 2220 903 remission
## Guo-AAACCTGAGATACACA-3 SeuratProject 2493 877 remission
## Guo-AAACCTGAGCGATTCT-1 SeuratProject 2159 933 severe
## Guo-AAACCTGAGTGAAGAG-3 SeuratProject 1067 467 remission
## Guo-AAACCTGAGTTGAGTA-2 SeuratProject 1905 744 severe
## treatment timepoint
## Guo-AAACCTGAGAGCTTCT-2 400 mg Tocilizumab at day 1 day 1
## Guo-AAACCTGAGAGGTTGC-7 400 mg Tocilizumab at day 1 day 7
## Guo-AAACCTGAGATACACA-3 400 mg Tocilizumab at day 1 day 5
## Guo-AAACCTGAGCGATTCT-1 400 mg Tocilizumab at day 1 day 1
## Guo-AAACCTGAGTGAAGAG-3 400 mg Tocilizumab at day 1 day 5
## Guo-AAACCTGAGTTGAGTA-2 400 mg Tocilizumab at day 1 day 1
## Dataset sample
## Guo-AAACCTGAGAGCTTCT-2 Guo et al._Nature Communication Guo_P1-day1-rep2
## Guo-AAACCTGAGAGGTTGC-7 Guo et al._Nature Communication Guo_P2-day7
## Guo-AAACCTGAGATACACA-3 Guo et al._Nature Communication Guo_P1-day5-rep1
## Guo-AAACCTGAGCGATTCT-1 Guo et al._Nature Communication Guo_P1-day1-rep1
## Guo-AAACCTGAGTGAAGAG-3 Guo et al._Nature Communication Guo_P1-day5-rep1
## Guo-AAACCTGAGTTGAGTA-2 Guo et al._Nature Communication Guo_P1-day1-rep2
## disease_original disease_general
## Guo-AAACCTGAGAGCTTCT-2 COVID-19 Severe COVID-19 Severe/Late stage/Vent
## Guo-AAACCTGAGAGGTTGC-7 COVID-19 Mild/Remission COVID-19 Remission
## Guo-AAACCTGAGATACACA-3 COVID-19 Mild/Remission COVID-19 Remission
## Guo-AAACCTGAGCGATTCT-1 COVID-19 Severe COVID-19 Severe/Late stage/Vent
## Guo-AAACCTGAGTGAAGAG-3 COVID-19 Mild/Remission COVID-19 Remission
## Guo-AAACCTGAGTTGAGTA-2 COVID-19 Severe COVID-19 Severe/Late stage/Vent
## COVID-19 Condition Lineage Cell.group
## Guo-AAACCTGAGAGCTTCT-2 severe Myeloid CD14+ Monocyte
## Guo-AAACCTGAGAGGTTGC-7 remission Lymphoid_T/NK CD8+ T cell
## Guo-AAACCTGAGATACACA-3 remission Lymphoid_T/NK CD4+ T cell
## Guo-AAACCTGAGCGATTCT-1 severe Lymphoid_T/NK CD8+ T cell
## Guo-AAACCTGAGTGAAGAG-3 remission Lymphoid_T/NK CD4+ T cell
## Guo-AAACCTGAGTTGAGTA-2 severe Lymphoid_B B cell
## Cell.class_reannotated nFeaturess_RNA nCounts_RNA
## Guo-AAACCTGAGAGCTTCT-2 Classical Monocyte 1410 12006.946
## Guo-AAACCTGAGAGGTTGC-7 CD8+ Tem 904 8439.710
## Guo-AAACCTGAGATACACA-3 CD4+ Tcm 877 8103.279
## Guo-AAACCTGAGCGATTCT-1 CD8+ Tem 933 8748.600
## Guo-AAACCTGAGTGAAGAG-3 CD4+ T naive 468 4836.542
## Guo-AAACCTGAGTTGAGTA-2 B naive 744 7164.143
## percent_mito tissue_original tissue_ontology_term_id
## Guo-AAACCTGAGAGCTTCT-2 0.01152303 PBMC UBERON:0000178
## Guo-AAACCTGAGAGGTTGC-7 0.01349096 PBMC UBERON:0000178
## Guo-AAACCTGAGATACACA-3 0.01543431 PBMC UBERON:0000178
## Guo-AAACCTGAGCGATTCT-1 0.01182754 PBMC UBERON:0000178
## Guo-AAACCTGAGTGAAGAG-3 0.02864259 PBMC UBERON:0000178
## Guo-AAACCTGAGTTGAGTA-2 0.01400229 PBMC UBERON:0000178
## disease_ontology_term_id donor_id
## Guo-AAACCTGAGAGCTTCT-2 MONDO:0100096 P1
## Guo-AAACCTGAGAGGTTGC-7 MONDO:0100096 P2
## Guo-AAACCTGAGATACACA-3 MONDO:0100096 P1
## Guo-AAACCTGAGCGATTCT-1 MONDO:0100096 P1
## Guo-AAACCTGAGTGAAGAG-3 MONDO:0100096 P1
## Guo-AAACCTGAGTTGAGTA-2 MONDO:0100096 P1
## development_stage_ontology_term_id
## Guo-AAACCTGAGAGCTTCT-2 HsapDv:0000133
## Guo-AAACCTGAGAGGTTGC-7 HsapDv:0000172
## Guo-AAACCTGAGATACACA-3 HsapDv:0000133
## Guo-AAACCTGAGCGATTCT-1 HsapDv:0000133
## Guo-AAACCTGAGTGAAGAG-3 HsapDv:0000133
## Guo-AAACCTGAGTTGAGTA-2 HsapDv:0000133
## assay_ontology_term_id cell_type_ontology_term_id
## Guo-AAACCTGAGAGCTTCT-2 EFO:0009899 CL:0000860
## Guo-AAACCTGAGAGGTTGC-7 EFO:0009899 CL:0000913
## Guo-AAACCTGAGATACACA-3 EFO:0009899 CL:0000904
## Guo-AAACCTGAGCGATTCT-1 EFO:0009899 CL:0000913
## Guo-AAACCTGAGTGAAGAG-3 EFO:0009899 CL:0000895
## Guo-AAACCTGAGTTGAGTA-2 EFO:0009899 CL:0000788
## self_reported_ethnicity_ontology_term_id
## Guo-AAACCTGAGAGCTTCT-2 unknown
## Guo-AAACCTGAGAGGTTGC-7 unknown
## Guo-AAACCTGAGATACACA-3 unknown
## Guo-AAACCTGAGCGATTCT-1 unknown
## Guo-AAACCTGAGTGAAGAG-3 unknown
## Guo-AAACCTGAGTTGAGTA-2 unknown
## sex_ontology_term_id is_primary_data
## Guo-AAACCTGAGAGCTTCT-2 PATO:0000384 FALSE
## Guo-AAACCTGAGAGGTTGC-7 PATO:0000384 FALSE
## Guo-AAACCTGAGATACACA-3 PATO:0000384 FALSE
## Guo-AAACCTGAGCGATTCT-1 PATO:0000384 FALSE
## Guo-AAACCTGAGTGAAGAG-3 PATO:0000384 FALSE
## Guo-AAACCTGAGTTGAGTA-2 PATO:0000384 FALSE
## organism_ontology_term_id suspension_type tissue_type
## Guo-AAACCTGAGAGCTTCT-2 NCBITaxon:9606 cell tissue
## Guo-AAACCTGAGAGGTTGC-7 NCBITaxon:9606 cell tissue
## Guo-AAACCTGAGATACACA-3 NCBITaxon:9606 cell tissue
## Guo-AAACCTGAGCGATTCT-1 NCBITaxon:9606 cell tissue
## Guo-AAACCTGAGTGAAGAG-3 NCBITaxon:9606 cell tissue
## Guo-AAACCTGAGTTGAGTA-2 NCBITaxon:9606 cell tissue
## cell_type
## Guo-AAACCTGAGAGCTTCT-2 classical monocyte
## Guo-AAACCTGAGAGGTTGC-7 effector memory CD8-positive, alpha-beta T cell
## Guo-AAACCTGAGATACACA-3 central memory CD4-positive, alpha-beta T cell
## Guo-AAACCTGAGCGATTCT-1 effector memory CD8-positive, alpha-beta T cell
## Guo-AAACCTGAGTGAAGAG-3 naive thymus-derived CD4-positive, alpha-beta T cell
## Guo-AAACCTGAGTTGAGTA-2 naive B cell
## assay disease organism sex tissue
## Guo-AAACCTGAGAGCTTCT-2 10x 3' v2 COVID-19 Homo sapiens male blood
## Guo-AAACCTGAGAGGTTGC-7 10x 3' v2 COVID-19 Homo sapiens male blood
## Guo-AAACCTGAGATACACA-3 10x 3' v2 COVID-19 Homo sapiens male blood
## Guo-AAACCTGAGCGATTCT-1 10x 3' v2 COVID-19 Homo sapiens male blood
## Guo-AAACCTGAGTGAAGAG-3 10x 3' v2 COVID-19 Homo sapiens male blood
## Guo-AAACCTGAGTTGAGTA-2 10x 3' v2 COVID-19 Homo sapiens male blood
## self_reported_ethnicity development_stage
## Guo-AAACCTGAGAGCTTCT-2 unknown 39-year-old human stage
## Guo-AAACCTGAGAGGTTGC-7 unknown 78-year-old human stage
## Guo-AAACCTGAGATACACA-3 unknown 39-year-old human stage
## Guo-AAACCTGAGCGATTCT-1 unknown 39-year-old human stage
## Guo-AAACCTGAGTGAAGAG-3 unknown 39-year-old human stage
## Guo-AAACCTGAGTTGAGTA-2 unknown 39-year-old human stage
## observation_joinid
## Guo-AAACCTGAGAGCTTCT-2 2P)e%zgsv_
## Guo-AAACCTGAGAGGTTGC-7 Lv&N1yD6*0
## Guo-AAACCTGAGATACACA-3 DZ>`^5OH2o
## Guo-AAACCTGAGCGATTCT-1 J4$QmqEgvX
## Guo-AAACCTGAGTGAAGAG-3 Y&7u#&E`-T
## Guo-AAACCTGAGTTGAGTA-2 XQ2XgsY|}S
query.vars <- c("disease_stage", "donor_id", "timepoint", "Cell.group", "Cell.class_reannotated")
query.umap.plts <- lapply(X = query.vars, function(x) {
DimPlot(object = query, reduction = "umap", group.by = x, pt.size = 0.1, label = TRUE)
})
Plot the categorical variables celltype.l1 and celltype.l2 for the reference below.
## Plot dimensional reductions for reference
(ref.umap.plts[[1]] + NoLegend()) + (ref.umap.plts[[2]] + NoLegend())
Plot the categorical variables disease_stage, donor_id, timepoint, sex, Cell.group, Cell.class_reannotated for the query below.
## Plot dimensional reductions for reference
(query.umap.plts[[1]]) + (query.umap.plts[[2]]) + (query.umap.plts[[3]])
## Plot dimensional reductions for reference
(query.umap.plts[[4]] + NoLegend()) + (query.umap.plts[[5]] + NoLegend())
(10 min)
AIM: Annotate and project the query against the reference data set.
Perform reference-mapping below by identifying anchors between the COVID versus healthy PBMCs data sets and transferring the labels of interest (celltype.l1, celltype.l2) from the previously annotated healthy data set into the query COVID data set with the functions FindTransferAnchors() and MapQuery().
## Reference-mapping
# Set to TRUE in case you wanna run with 'Azimuth'
run.azimuth <- TRUE
if (run.azimuth) {
query <- RunAzimuth(query, reference = "pbmcref")
} else {
# Find anchors
anchor <- FindTransferAnchors(
reference = ref,
query = query,
k.filter = NA,
features = rownames(Loadings(ref[["refDR"]])),
reference.assay = "refAssay",
query.assay = "RNA",
reference.reduction = "refDR",
normalization.method = "SCT",
reference.neighbors = "refdr.annoy.neighbors",
dims = 1:50
)
# Transfer labels
query <- MapQuery(
anchorset = anchor,
query = query,
reference = ref,
refdata = list(
celltype.l1 = "celltype.l1",
celltype.l2 = "celltype.l2"
),
store.weights = TRUE,
transferdata.args = list(n.trees = 20),
integrateembeddings.args = list(weight.reduction = "pcaproject"),
projectumap.args = list(l2.norm = TRUE),
reduction.model = "refUMAP"
)
}
# Save query R object
saveRDS(object = query, file = file.path(res.dir[3], "query_refmap.rds"))
(15 min)
AIM: Assess the accuracy of the reference-mapping task.
Run the R chunk code below to compare the predicted cell type labels for the COVID data set against the healthy human PBMCs with the ground-truth cell labels.
## Assessment of reference-mapping accuracy
# Plot UMAPs
refmap.plts <- list()
refmap.plts[[1]] <- DimPlot(ref, reduction = "refUMAP", group.by = "celltype.l1",
label = TRUE, pt.size = 0.1, alpha = 0.1) + NoLegend()
refmap.plts[[2]] <- DimPlot(ref, reduction = "refUMAP", group.by = "celltype.l2",
label = TRUE, pt.size = 0.1, alpha = 0.1) + NoLegend()
refmap.plts[[3]] <- DimPlot(query, reduction = "ref.umap", group.by = "Cell.group",
label = TRUE, pt.size = 0.1, alpha = 0.1) + NoLegend()
refmap.plts[[4]] <- DimPlot(query, reduction = "ref.umap", group.by = "Cell.class_reannotated",
label = TRUE, pt.size = 0.1, alpha = 0.1) +
NoLegend()
refmap.plts[[5]] <- DimPlot(query, reduction = "ref.umap", group.by = "predicted.celltype.l1",
label = TRUE, pt.size = 0.1, alpha = 0.1) +
NoLegend()
refmap.plts[[6]] <- DimPlot(query, reduction = "ref.umap", group.by = "predicted.celltype.l2",
label = TRUE, pt.size = 0.1, alpha = 0.1) +
NoLegend()
# Confusion matrices
celltype1xgroup <- table(query$predicted.celltype.l1, query$Cell.group)
celltype1xgroup <- celltype1xgroup %>% as.matrix.data.frame(.) %>%
`colnames<-`(colnames(celltype1xgroup)) %>% `row.names<-`(row.names(celltype1xgroup))
celltype1xclass <- table(query$predicted.celltype.l1, query$Cell.class_reannotated)
celltype1xclass <- celltype1xclass %>% as.matrix.data.frame(.) %>%
`colnames<-`(colnames(celltype1xclass)) %>% `row.names<-`(row.names(celltype1xclass))
celltype2xgroup <- table(query$predicted.celltype.l2, query$Cell.group)
celltype2xgroup <- celltype2xgroup %>% as.matrix.data.frame(.) %>%
`colnames<-`(colnames(celltype2xgroup)) %>% `row.names<-`(row.names(celltype2xgroup))
celltype2xclass <- table(query$predicted.celltype.l2, query$Cell.class_reannotated)
celltype2xclass <- celltype2xclass %>% as.matrix.data.frame(.) %>%
`colnames<-`(colnames(celltype2xclass)) %>% `row.names<-`(row.names(celltype2xclass))
Plot below the heatmaps of the confusion matrices between predicted cell type labels (celltype.l1, celltype.l2) versus ground-truth cell type labels (Cell.group, class_reannotated).
tbls <- list("celltype1xCell.group" = celltype1xgroup, "celltype1xclass_reannotated" = celltype1xclass,
"celltype2xCell.group" = celltype2xgroup, "celltype2xclass_reannotated" = celltype2xclass)
heat.list <- lapply(X = setNames(names(tbls), names(tbls)), FUN = function(comp) {
Heatmap(matrix = t(apply(tbls[[comp]], 1, function(x) x/sum(x)*100)), name = "% of cells",
cluster_rows = F, cluster_columns = F, row_names_side = "left",
show_column_names = T, show_row_names = TRUE,
col = circlize::colorRamp2(c(0, 50, 100), c("white", "red1", "red4")),
column_names_side = "top", column_names_rot = 45,
layer_fun = function(j, i, x, y, width, height, fill, slice_r, slice_c) {
v = pindex(tbls[[comp]], i, j)
grid.text(sprintf("%.0f", v), x, y, gp = gpar(fontsize = 10))
if(slice_r != slice_c) {
grid.rect(gp = gpar(lwd = 2, fill = "transparent"))
}
},
column_title = gsub("x", " vs ", comp),
rect_gp = gpar(col = "white", lwd = 2)
)
})
# Print below
heat.list$celltype1xCell.group + heat.list$celltype1xclass_reannotated
heat.list$celltype2xCell.group + heat.list$celltype2xclass_reannotated
Project the data below onto the reference UMAP highlighting the predicted (celltype.l1, celltype.l2) and ground-truth cell type labels (Cell.group, class_reannotated).
refmap.plts[[1]] + refmap.plts[[2]]
refmap.plts[[3]] + refmap.plts[[4]]
refmap.plts[[5]] + refmap.plts[[6]]
## R packages and versions used in these analyses
sessionInfo()
## R version 4.1.0 (2021-05-18)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 20.04.5 LTS
##
## Matrix products: default
## BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
## LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/liblapack.so.3
##
## locale:
## [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
## [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
## [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
## [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
## [9] LC_ADDRESS=C LC_TELEPHONE=C
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
##
## attached base packages:
## [1] grid stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] ComplexHeatmap_2.15.4 patchwork_1.2.0 Azimuth_0.5.0
## [4] shinyBS_0.61.1 Seurat_5.1.0 SeuratObject_5.0.2
## [7] sp_2.1-4 dplyr_1.1.4
##
## loaded via a namespace (and not attached):
## [1] rappdirs_0.3.3 rtracklayer_1.54.0
## [3] scattermore_1.2 R.methodsS3_1.8.2
## [5] tidyr_1.3.1 JASPAR2020_0.99.10
## [7] ggplot2_3.5.1 bit64_4.0.5
## [9] knitr_1.47 irlba_2.3.5.1
## [11] DelayedArray_0.20.0 R.utils_2.12.3
## [13] data.table_1.15.4 doParallel_1.0.17
## [15] KEGGREST_1.34.0 TFBSTools_1.32.0
## [17] RCurl_1.98-1.14 AnnotationFilter_1.18.0
## [19] generics_0.1.3 BiocGenerics_0.40.0
## [21] GenomicFeatures_1.46.5 cowplot_1.1.3
## [23] RSQLite_2.3.7 RANN_2.6.1
## [25] future_1.33.2 bit_4.0.5
## [27] tzdb_0.4.0 spatstat.data_3.1-2
## [29] xml2_1.3.6 httpuv_1.6.15
## [31] SummarizedExperiment_1.24.0 assertthat_0.2.1
## [33] DirichletMultinomial_1.36.0 gargle_1.5.2
## [35] xfun_0.45 hms_1.1.3
## [37] jquerylib_0.1.4 evaluate_0.24.0
## [39] promises_1.3.0 fansi_1.0.6
## [41] restfulr_0.0.15 progress_1.2.3
## [43] caTools_1.18.2 dbplyr_2.5.0
## [45] igraph_2.0.3 DBI_1.2.3
## [47] htmlwidgets_1.6.4 spatstat.geom_3.2-9
## [49] googledrive_2.1.1 stats4_4.1.0
## [51] purrr_1.0.2 RSpectra_0.16-1
## [53] annotate_1.72.0 biomaRt_2.50.3
## [55] deldir_2.0-4 MatrixGenerics_1.6.0
## [57] vctrs_0.6.5 Biobase_2.54.0
## [59] SeuratDisk_0.0.0.9021 ensembldb_2.18.4
## [61] ROCR_1.0-11 abind_1.4-5
## [63] cachem_1.1.0 withr_3.0.0
## [65] BSgenome.Hsapiens.UCSC.hg38_1.4.4 BSgenome_1.62.0
## [67] progressr_0.14.0 presto_1.0.0
## [69] sctransform_0.4.1 GenomicAlignments_1.30.0
## [71] prettyunits_1.2.0 goftest_1.2-3
## [73] cluster_2.1.2 dotCall64_1.1-1
## [75] lazyeval_0.2.2 seqLogo_1.60.0
## [77] crayon_1.5.3 hdf5r_1.3.10
## [79] spatstat.explore_3.2-7 labeling_0.4.3
## [81] pkgconfig_2.0.3 GenomeInfoDb_1.30.1
## [83] nlme_3.1-152 ProtGenerics_1.26.0
## [85] rlang_1.1.4 globals_0.16.3
## [87] lifecycle_1.0.4 miniUI_0.1.1.1
## [89] filelock_1.0.3 fastDummies_1.7.3
## [91] klippy_0.0.0.9500 BiocFileCache_2.2.1
## [93] pbmc3k.SeuratData_3.1.4 SeuratData_0.2.2.9001
## [95] cellranger_1.1.0 polyclip_1.10-6
## [97] RcppHNSW_0.6.0 matrixStats_1.1.0
## [99] lmtest_0.9-40 Matrix_1.6-5
## [101] Rhdf5lib_1.16.0 zoo_1.8-12
## [103] GlobalOptions_0.1.2 ggridges_0.5.6
## [105] googlesheets4_1.1.1 png_0.1-8
## [107] viridisLite_0.4.2 rjson_0.2.21
## [109] shinydashboard_0.7.2 bitops_1.0-7
## [111] R.oo_1.26.0 rhdf5filters_1.6.0
## [113] KernSmooth_2.23-20 spam_2.10-0
## [115] Biostrings_2.62.0 blob_1.2.4
## [117] shape_1.4.6.1 stringr_1.5.1
## [119] parallelly_1.37.1 spatstat.random_3.2-3
## [121] readr_2.1.5 S4Vectors_0.32.4
## [123] CNEr_1.30.0 scales_1.3.0
## [125] memoise_2.0.1 magrittr_2.0.3
## [127] plyr_1.8.9 ica_1.0-3
## [129] zlibbioc_1.40.0 compiler_4.1.0
## [131] BiocIO_1.4.0 RColorBrewer_1.1-3
## [133] clue_0.3-65 fitdistrplus_1.1-11
## [135] Rsamtools_2.10.0 cli_3.6.3
## [137] XVector_0.34.0 listenv_0.9.1
## [139] pbapply_1.7-2 MASS_7.3-54
## [141] tidyselect_1.2.1 stringi_1.8.4
## [143] highr_0.11 yaml_2.3.8
## [145] ggrepel_0.9.5 sass_0.4.9
## [147] fastmatch_1.1-4 EnsDb.Hsapiens.v86_2.99.0
## [149] tools_4.1.0 future.apply_1.11.2
## [151] parallel_4.1.0 circlize_0.4.16
## [153] rstudioapi_0.13 TFMPvalue_0.0.9
## [155] foreach_1.5.2 gridExtra_2.3
## [157] farver_2.1.2 Rtsne_0.17
## [159] digest_0.6.36 shiny_1.8.1.1
## [161] pracma_2.4.4 Rcpp_1.0.12
## [163] GenomicRanges_1.46.1 later_1.3.2
## [165] RcppAnnoy_0.0.22 httr_1.4.7
## [167] AnnotationDbi_1.56.2 colorspace_2.1-0
## [169] XML_3.99-0.17 fs_1.6.4
## [171] tensor_1.5 reticulate_1.38.0
## [173] IRanges_2.28.0 splines_4.1.0
## [175] uwot_0.2.2 RcppRoll_0.3.0
## [177] spatstat.utils_3.0-5 plotly_4.10.4
## [179] xtable_1.8-4 jsonlite_1.8.8
## [181] poweRlaw_0.80.0 pbmcref.SeuratData_1.0.0
## [183] R6_2.5.1 pillar_1.9.0
## [185] htmltools_0.5.8.1 mime_0.12
## [187] glue_1.7.0 fastmap_1.2.0
## [189] DT_0.33 BiocParallel_1.28.3
## [191] codetools_0.2-18 Signac_1.13.0
## [193] utf8_1.2.4 lattice_0.20-44
## [195] bslib_0.7.0 spatstat.sparse_3.1-0
## [197] tibble_3.2.1 curl_5.2.1
## [199] leiden_0.4.3.1 gtools_3.9.5
## [201] shinyjs_2.1.0 GO.db_3.14.0
## [203] survival_3.2-11 rmarkdown_2.27
## [205] munsell_0.5.1 GetoptLong_1.0.5
## [207] rhdf5_2.38.1 GenomeInfoDbData_1.2.7
## [209] iterators_1.0.14 reshape2_1.4.4
## [211] gtable_0.3.5